AECOsim Building Designer Help

Unified File Naming Utility

Available via configuration, the Unified File Naming utility allows you to quickly and automatically generate file, model, and view names that comply with various file naming conventions. You can also add your own standards and options via an XML file.

When enabled, the utility opens whenever you create a new DGN file, model, saved view, etc. providing you with fields to populate that are used to generate file/model/saved view names that comply with the naming conventions specified by the XMLs.

Enabling the Utility

To enable the utility, the following variables can be defined:

  • BB_NAMING_STANDARDS_ENABLE - If defined, enables you to create any file, model and/or view names which is controlled by a standard naming convention defined by BB_NAMING_STANDARDS_FILE.
  • BB_NAMING_STANDARDS_FILE - Defines the XML path and file which defines the standard naming convention used to create a prescriptive file, model or view names.
  • BB_NAMING_STANDARDS_PROJECT_ID - Allows for a default Project ID/WorkSet ID to be preset in the Naming Standard Utility. If defined, you are not be able to edit the Project ID Project ID/WorkSet ID in the naming standards dialog.

Utility Dialog

Opens when creating a new file, or new model, saved view.

A typical standard filename gets assigned, for example: _A_3_1A_Option 01 _1A_Personal.dgn, as seen in Name field.

Utility XML File

The Standards Naming Utility dialogs settings are controlled by the XML file specified by the BB_NAMING_STANDARDS_FILE configuration variable.

Note: A sample Unified File Naming utility XML file is provided by default (C:\Program Files\Bentley\AECOsim CONNECT Edition\AECOsimBuildingDesigner\Default\Data\StandardsFilenameSetting.xml) You can use this sample file as a template to create your own file naming standards XML files.
  • UFNSettings
    • FileName
      • Control
        • Attr
        • Condition
    • CreateDrawing
    • MDLNewFile
    • Model
    • ModelDesign
    • ModelDrawing
    • ModelSheet
    • ModelNamedView
There is a root node UFNSettings. UFNSettings contains eight unique nodes. Each node corresponds to a different dialog. Each of these nodes can contain as many control nodes as needed. These control nodes correspond to properties in the RPG. Each control node can have numerous attributes(Attr). If the control node has a nonzero number of attributes, the editor for the property becomes a drop down list. If there are no attributes, then the editor is a textbox. The control node can also have numerous form and window condition nodes.
UFNSettings - Titles: Originally there could be multiple windows, however now the property grid is just reloaded with new attributes so there is no reason to create a new form. This attribute determines what the titles of each of these windows are. If there are more windows than titles, the last title is used for each subsequent window. The titles are comma delimited.
Control - Label: This is the name of the property. The name needs to be unique across controls. If the same label is used more than once across controls, then only one control with that label will be displayed.
Control - Order: This determines the order properties are displayed in the grid. It also determines the order that the values of the properties are concatenated in the filename string. If no order attribute is specified, all other properties with order take precedence over those properties without order. The un-ordered properties are kept in place after the ordered properties in the grid.
Control - Prefix: This attribute concatenates a string value to the front of the corresponding property in the file name string.
Control - Suffix: This attribute concatenates a string value to the end of the corresponding property in the file name string.
Control - MinChars: For a property with a textbox editor, specifies the minimum number of characters required for the field.
Control - MaxChars: For a property with a textbox editor, specifies the maximum number of characters possible for the field.
Control - Required: Requires a property to be set to a value in the RPG. This also overrides any conditions placed on this control, causing this to be displayed regardless of whether the conditions are met.
Control - Attr: The control node can have as many Attr elements as needed. This causes the editor for the property to become a drop down list.
Condition - Type: This determines the type of condition placed on the control. This attribute is restricted to either "Form" or "Window".

A form condition determines what event happens to make the corresponding property visible in the property grid. The control label determines what property "controls" the property with the condition. If the "ViewName" property has a form condition with a control label of "Discipline", then when the Discipline property gets set to a value corresponding to one of the options in the condition, the "ViewName" property becomes visible.

A window condition works similarly as a form but instead determines visibility in the next reload of the RPG. The BCA utility had multiple windows to select values depending on what previous values were selected, which is why this functionality exists. With the RPG, it's not necessary to create a new form, but rather reload the RPG with new properties instead. If the properties window condition is met, then the property will be displayed in the next reload. The "ControlLabel" and "Options" attributes are not required for a window condition. If those are excluded, then the property is automatically displayed in whatever window is specified in the "WindowCount" attribute.

Condition - ControlLabel: The control label determines which property triggers the condition. If two conditions are controlled by each other then it could be impossible for them to become visible.
Condition - Options: These determine which selected values trigger the property to become visible.
Condition - WindowCount: This functions as an order attribute for the window conditions. The absolute number doesn't matter as they're ordered relatively based off the other window conditions.